package org.example.adapter;

//适配器模式是解决接口不兼容问题的强大工具，特别在系统集成、框架设计和遗留系统改造中非常有用.
//优点：
//符合单一职责原则（接口转换逻辑与其他代码分离）
//符合开闭原则（可以引入新适配器而不改变现有代码）
//提高代码复用性（适配已有类）
//提高灵活性（支持多种实现）
//缺点：
//增加系统复杂性（引入额外类和接口）
//可能降低性能（增加间接调用层）
//过度使用会导致代码混乱
public class AdapterPatternDemo {
    public static void main(String[] args) {
        AudioPlayer audioPlayer = new AudioPlayer();

        // 播放各种格式
        audioPlayer.play("mp3", "beyond_the_horizon.mp3");
        audioPlayer.play("mp4", "alone.mp4");
        audioPlayer.play("vlc", "far_far_away.vlc");
        audioPlayer.play("avi", "mind_me.avi");
        audioPlayer.play("wav", "unknown.wav");
    }
}